草庐IT

Java Parallel Streams 关闭线程

全部标签

c++ - Windows 操作系统中的线程安全和原子读取

我的应用程序中有这段代码。我怀疑它不是线程安全的,因此决定询问SOers。int*volatileint_ptr;intcount;线程1:voidgrow(intnew_count){if(new_count线程2:intget_value(intindex){returnint_ptr[index];}我知道可以使用CRITICAL_SECTION,但线程1可能一周运行一次,而线程2一天运行数百万次。在99.99999%的访问int_ptr的尝试中,第二个线程将白白进入和退出临界区。这对我来说没有意义。该应用程序只能在Windows2000和更高版本的Intel处理器(显然是多核处

c - 挂起和恢复线程(Windows,C)

我目前正在开发一个高度多线程的应用程序,处理大量要处理的小数据。问题在于产生了太多线程,这大大降低了系统速度。为了避免这种情况,我有一个Handles表,它限制了并发线程的数量。然后,我“WaitForMultipleObjects”,当一个插槽被释放时,我创建了一个新线程,该线程具有自己的数据批处理。现在,我有尽可能多的线程(通常每个内核一个)。即使那样,由多线程引起的负载也是非常明智的。这样做的原因是:数据批处理很小,所以我一直在创建新线程。我当前实现的第一个想法只是将作业重新组合为更长的序列表。因此,当我创建一个新线程时,在终止之前它将有128或512个数据批处理。它运作良好,但

python - 我应该始终明确关闭标准输出吗?

我正在尝试集成一个小型Win32C++程序,该程序从标准输入读取并将解码结果(~128KB)写入输出流。我用将整个输入读入缓冲区while(std::cin.get(c)){}在我将整个输出写入标准输出之后。当我从命令行运行应用程序时一切正常,例如test.exeoutput.bin,但是这个小应用程序应该从Python运行。我希望Pythonsubprocess.communicate应该使用,文档说:Interactwithprocess:Senddatatostdin.Readdatafromstdoutandstderr,untilend-of-fileisreached.Wa

windows - 为什么它像没有线程一样运行?

我正在编写一个脚本来ping我的ip范围。这是我到目前为止所拥有的:lines=`ipconfig`.split("\n")thr=[]ip_line=lines.detect{|l|l=~/IpAddress/i}matcher=/\d+\.\d+\.\d+\.\d+/.match(ip_line)ifmatcher.length>0address=matcher[0]address.sub!(/\.\d+$/,"")(1..254).eachdo|i|xaddr=address+"."+i.to_sputs"pinging#{xaddr}"thr问题是,这执行起来非常慢。就像应用程

c# - 是否可以启动相同的线程?

我有一些计算程序。现在,这个程序是单线程的,我需要增强它以使其成为多线程。一般来说,程序计算,热电路的动态演化(一些配置类型的不同涉及元素(管,泵,active区及其连接),对于每个时间步长程序计算扩散方程(http://en.wikipedia.org/wiki/Diffusion_equation))问题是,在每个时间步上,每个涉及的元素都可以单独处理,但在每个新的时间步上,所有元素都应该相互同步。我决定通过从每个时间步开始每个元素一个线程来解决它。privatevoidSolveElementDynamic(objectelement){if(elementisPJunction

windows - C++ 防止控制台窗口在单击红色 X 时关闭

我正在开发一个没有类和对象的简单C++控制台应用程序。单击红色X按钮时,是否有任何方法或功能可以防止控制台关闭?我正在使用VisualStudioC++Express2010:一个仅包含main.cpp文件的简单控制台应用程序。感谢您回答我的问题:)!! 最佳答案 这对我有用:#include"conio.h"voidmain(){HWNDhwnd=GetConsoleWindow();HMENUhmenu=GetSystemMenu(hwnd,FALSE);EnableMenuItem(hmenu,SC_CLOSE,MF_GRAY

c++ - 如何判断一个线程是否有消息队列?

有什么方法可以通过threadId判断一个线程是否有消息队列?基本上有一些windowsapi只有在线程有消息queue.window时才工作 最佳答案 您可以使用带有线程ID的PostThreadMessage。如果PostThreadMessage返回false且GetLastError返回ERROR_INVALID_THREAD_ID,则线程ID无效或线程没有消息队列。更多信息http://msdn.microsoft.com/en-us/library/ms644946(VS.85).aspx

python - 在 Python 中检测计算机/程序关闭?

我有一个Python脚本,它循环运行定期调整我的照明系统。当我关闭我的计算机时,我希望我的脚本能够检测到这一点,并完全关掉灯。如何在Python中检测我的计算机开始关机?或者,假设Windows向Python发送“关闭时间”通知,我如何拦截它以熄灭我的灯并退出循环? 最佳答案 这是在系统关闭时执行操作的错误方法。关机进程的作用是停止正在运行的进程,然后关闭电源;如果你试图从你的程序中检测到这种情况并通过获取一些最后的Action来使用react,那么这是操作系统和你的程序之间的一场竞赛,谁先走。您的程序很可能在设法执行必要的操作之前

windows - 打开程序的批处理文件等待 5 秒然后关闭该程序

出于某种原因,我无法让这批处理执行打开部分,等待,然后是WindowsXP或Windows7中的关闭部分。我只能通过注释掉批处理中的另一个来打开或关闭,但由于某种原因如何我已经写好了它只会打开。如何打开程序等待固定时间,然后关闭同一个程序?这样做的原因是在计算机启动时强制使用制造商程序的驱动程序。任何帮助将非常感激。谢谢。@ECHOoff"C:\ProgramFiles\WinTV\WinTV2K.EXE"-ncSet_Delay=5Taskkill/IM"WinTV2K.EXE"/FExit 最佳答案 代替Set_Delay=5用

用于打开和关闭代理的 Windows 桌面小部件

我想制作一个简单的Windows桌面小部件来打开和关闭互联网代理。什么方法比较简单? 最佳答案 您可以使用VisualBasic脚本和批处理创建一个简单的“小部件”。例子:proxy_off.batechooffclsregadd"HKCU\Software\Microsoft\Windows\CurrentVersion\InternetSettings"/vProxyEnable/tREG_DWORD/d0/fchange_shortcut_onexitproxy_on.batechooffclsregadd"HKCU\Soft